package com.sugon.service.impl;

import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.RandomUtil;
import com.sugon.dao.ToolsCheckPlanItemToolsDao;
import com.sugon.entity.ToolsCheckPlanItemToolsEntity;
import com.sugon.service.ToolsCheckPlanItemToolsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 工装周期性检测计划明细工装关联表Service实现类
 *
 * @author sugon
 * @date 2021-09-23 16:26:40
 */
@Service("toolsCheckPlanItemToolsService")
public class ToolsCheckPlanItemToolsServiceImpl implements ToolsCheckPlanItemToolsService {
    @Autowired
    private ToolsCheckPlanItemToolsDao toolsCheckPlanItemToolsDao;

    @Override
    public List<ToolsCheckPlanItemToolsEntity> queryByItemId(String itemId) {
        Map<String, Object> queryParam = MapUtil.newHashMap();
        queryParam.put("itemId", itemId);
        return queryList(queryParam);
    }

    @Override
    public ToolsCheckPlanItemToolsEntity queryObject(String id) {
        return toolsCheckPlanItemToolsDao.queryObject(id);
    }

    @Override
    public boolean checkExists(String itemId, String toolsFileId) {
        Map<String, Object> queryParam = MapUtil.newHashMap();
        queryParam.put("itemId", itemId);
        queryParam.put("toolsFileId", toolsFileId);
        return toolsCheckPlanItemToolsDao.queryTotal(queryParam) > 0;
    }

    @Override
    public List<ToolsCheckPlanItemToolsEntity> queryList(Map<String, Object> map) {
        return toolsCheckPlanItemToolsDao.queryList(map);
    }

    @Override
    public int queryTotal(Map<String, Object> map) {
        return toolsCheckPlanItemToolsDao.queryTotal(map);
    }

    @Override
    public int save(ToolsCheckPlanItemToolsEntity toolsCheckPlanItemTools) {
        toolsCheckPlanItemTools.setId(RandomUtil.randomString(32));
        if (toolsCheckPlanItemTools.getCapacity() == null) {
            // 设置默认一次装机量为0
            toolsCheckPlanItemTools.setCapacity(0);
        }
        return toolsCheckPlanItemToolsDao.save(toolsCheckPlanItemTools);
    }

    @Override
    public int update(ToolsCheckPlanItemToolsEntity toolsCheckPlanItemTools) {
        return toolsCheckPlanItemToolsDao.update(toolsCheckPlanItemTools);
    }

    @Override
    public int delete(String id) {
        return toolsCheckPlanItemToolsDao.delete(id);
    }

    @Override
    public int deleteBatch(String[] ids) {
        return toolsCheckPlanItemToolsDao.deleteBatch(ids);
    }
}
